export type LayoutType = "vertical" | "classic" | "transverse" | "columns";
import { RouteRecordRaw } from "vue-router";
export type AssemblySizeType = "large" | "default" | "small";
/* GlobalState */
export interface GlobalState {
  layout: LayoutType;
  assemblySize: AssemblySizeType;
  maximize: boolean;
  primary: string;
  isDark: boolean;
  isGrey: boolean;
  isWeak: boolean;
  asideInverted: boolean;
  headerInverted: boolean;
  isCollapse: boolean;
  accordion: boolean;
  breadcrumb: boolean;
  breadcrumbIcon: boolean;
  tabs: boolean;
  tabsIcon: boolean;
  footer: boolean;
}

/* UserState */
export interface UserState {
  token: string;
  userInfo: UserInfo;
}

export interface UserInfo {
  name: string;
  id: string;
  username: string;
  phone: string;
  authorities: Array<string>;
  roles: Array<string>;
}

/* tabsMenuProps */
export interface TabsMenuProps {
  icon: string;
  title: string;
  path: string;
  name: string;
  close: boolean;
}

/* TabsState */
export interface TabsState {
  tabsMenuList: TabsMenuProps[];
}

/**
 * 权限类型声明
 */
export interface RoutesState {
  dynamicsRoutes: Array<Menu.MenuOptions>;
}

/* KeepAliveState */
export interface KeepAliveState {
  keepAliveName: string[];
}
